package com.dengbw.systemtransfer.model.db;


import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class SysMenu {

	/**
	 * 菜单ID
	 */
	@ApiModelProperty(value = "菜单ID", position = 0)
	private Long menuId;

	/**
	 * 总目录归属
	 */
	@ApiModelProperty(value = "总目录归属", position = 1)
	private Long rootId;

	/**
	 * 父菜单ID 一级菜单为0
	 */
	@ApiModelProperty(value = "父菜单ID 一级菜单为0", position = 2)
	private Long parentId;

	/**
	 * 菜单名称
	 */
	@ApiModelProperty(value = "菜单名称", position = 3)
	private String name;

	/**
	 * 路径 vue_cli 版本使用
	 */
	@ApiModelProperty(value = "路径 vue_cli 版本使用", position = 4)
	private String path;

	/**
	 * 跳转 vue_cli 版本使用
	 */
	@ApiModelProperty(value = "跳转 vue_cli 版本使用", position = 5)
	private String redirect;

	/**
	 * 菜单URL
	 */
	@ApiModelProperty(value = "菜单URL", position = 6)
	private String url;

	/**
	 * 授权  (多个用逗号分隔，如：user:list,user:create)
	 */
	@ApiModelProperty(value = "授权  (多个用逗号分隔，如：user:list,user:create)", position = 7)
	private String perms;

	/**
	 * 类型#'0':'目录','1':'菜单','2':'按钮'
	 */
	@ApiModelProperty(value = "类型#'0':'目录','1':'菜单','2':'按钮'", position = 8)
	private Integer type;

	/**
	 * 菜单图标
	 */
	@ApiModelProperty(value = "菜单图标", position = 9)
	private String icon;

	/**
	 * 排序
	 */
	@ApiModelProperty(value = "排序", position = 10)
	private Integer orderNum;

	/**
	 * 平台#'1':'系统','2':'企业'
	 */
	@ApiModelProperty(value = "平台#'1':'系统','2':'企业'", position = 11)
	private Integer plat;

	/**
	 * 状态#'0':'隐藏','1':'显示'
	 */
	@ApiModelProperty(value = "状态#'0':'隐藏','1':'显示'", position = 12)
	private Integer status;

	/**
	 * 租户ID
	 */
	@ApiModelProperty(value = "租户ID", position = 13)
	private String tenantId;

	/**
	 * 村租户标识
	 */
	@ApiModelProperty(value = "村租户标识", position = 14)
	private Long subTenantId;

	/**
	 * 0 非 1 是对应权限的人可见
	 */
	@ApiModelProperty(value = "0 非 1 是对应权限的人可见", position = 15)
	private Integer extFlag;

	/**
	 * 首页展示图标
	 */
	@ApiModelProperty(value = "首页展示图标", position = 16)
	private String dashboardIcon;

	/**
	 * 是否首页展示0不展示 1展示
	 */
	@ApiModelProperty(value = "是否首页展示0不展示 1展示", position = 17)
	private Integer dashboardShow;

	public SysMenu(Long menuId, Long rootId, Long parentId, String name, String path, String redirect, String url, String perms, Integer type, String icon, Integer orderNum, Integer plat, Integer status, Integer extFlag, String dashboardIcon, Integer dashboardShow, String corpId, Long subTenantId) {
		this.menuId = menuId;
		this.rootId = rootId;
		this.parentId = parentId;
		this.name = name;
		this.path = path;
		this.redirect = redirect;
		this.url = url;
		this.perms = perms;
		this.type = type;
		this.icon = icon;
		this.orderNum = orderNum;
		this.plat = plat;
		this.status = status;
		this.extFlag = extFlag;
		this.dashboardIcon = dashboardIcon;
		this.dashboardShow = dashboardShow;
		this.tenantId = corpId;
		this.subTenantId = subTenantId;
	}

}
